package com.infolab.aims.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.apache.commons.collections.FactoryUtils;
import org.apache.commons.collections.list.LazyList;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;


@Entity
@Table(name="AMVW_VEH_MODEL_DETAIL")
public class Vehicle implements Serializable {

	@Id
	@Column(name="VEH_REGN_N")
	private String vehicleId;
	
	@Column(name="FIRMWARE_VERSION")
	private String meVersion;
	
	@Column(name="PINPAD_VERSION")
	private String pinpadVersion;
	
	@Column(name="VEH_ACCESSORY_C")
	private String assetModelCode;
	
	@Column(name="VEH_ENTITY_C")
	private String companyCode;
	
	@Transient
	private String driverNric;
	@Transient
	private String driverName;
	@Transient
	private String driverTelephoneNo;
	@Transient
	private String driverEmail;
	@Transient
	private String driverType;
	
	
	public String getVehicleId() {
		return vehicleId;
	}
	public void setVehicleId(String vehicleId) {
		this.vehicleId = vehicleId;
	}
	public String getDriverNric() {
		return driverNric;
	}
	public void setDriverNric(String driverNric) {
		this.driverNric = driverNric;
	}
	public String getDriverName() {
		return driverName;
	}
	public void setDriverName(String driverName) {
		this.driverName = driverName;
	}
	public String getDriverTelephoneNo() {
		return driverTelephoneNo;
	}
	public void setDriverTelephoneNo(String driverTelephoneNo) {
		this.driverTelephoneNo = driverTelephoneNo;
	}
	public String getDriverEmail() {
		return driverEmail;
	}
	public void setDriverEmail(String driverEmail) {
		this.driverEmail = driverEmail;
	}
	public String getDriverType() {
		return driverType;
	}
	public void setDriverType(String driverType) {
		this.driverType = driverType;
	}
	public String getMeVersion() {
		return meVersion;
	}
	public void setMeVersion(String meVersion) {
		this.meVersion = meVersion;
	}
	public String getAssetModelCode() {
		return assetModelCode;
	}
	public void setAssetModelCode(String assetModelCode) {
		this.assetModelCode = assetModelCode;
	}
	public String getCompanyCode() {
		return companyCode;
	}
	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}
	public String getPinpadVersion() {
		return pinpadVersion;
	}
	public void setPinpadVersion(String pinpadVersion) {
		this.pinpadVersion = pinpadVersion;
	}
	
	public String getAuditContentHead()
	{
				
		return new ToStringBuilder(this,ToStringStyle.SHORT_PREFIX_STYLE)
			.append("Vehicle",vehicleId)
			.append("version",meVersion)
			.append("version pinpad",pinpadVersion)
			.append("Asset Model",assetModelCode)
			.append("Company Code",companyCode)
			.toString();
	}
	
	public String getAuditContentDetail()
	{
		return "Not Applicable";
	}
	
	
}
